# gunicorn.py
import multiprocessing

# 服务器绑定地址和端口
bind = 'localhost:8008'  # 绑定所有IP，端口8000

# 工作进程数量（推荐：CPU核心数×2 + 1）
workers = multiprocessing.cpu_count() * 2 + 1

# 工作模式（sync为默认，可选择gevent或eventlet）
worker_class = 'sync'

# 每个工作进程的最大连接数
worker_connections = 1000

# 超时时间（秒）
timeout = 30

# 最大请求数（防止内存泄漏）
max_requests = 1000

# 最大请求数抖动（避免所有进程同时重启）
max_requests_jitter = 50

# 日志配置
accesslog = 'medQuest-uv-access.log'  # '-' 表示标准输出
errorlog = 'medQuest-uv-error.log'   # '-' 表示标准错误输出
loglevel = 'info'  # 日志级别：debug, info, warning, error, critical

# 后台运行（生产环境建议使用systemd管理）
# daemon = True

# 预加载应用（减少内存占用）
preload_app = True
